// 商品分类全局仓库
import {defineStore} from 'pinia'  // 导入pinia仓库
import { reqC1,reqC2,reqC3 } from '@/api/product/attr'  // 导入api方法
import { reqHasCategory } from '@/api/product/category'  // 导入api方法
import { ElMessage } from 'element-plus'

let useCategoryStore = defineStore('Category',{
    state:()=>{
        return {
            allCategory:[],
            c1Arr:[],  // 保存一级分类的数据
            c1Id:'',  // 保存所选择的一级分类id
            c2Arr:[],  // 保存二级分类的数据
            c2Id:'',  // 保存所选择的二级分类id
            c3Arr:[],  // 保存三级分类的数据
            c3Id:'',  // 保存所选择的三级分类id
            selectType:0,  // 保存用户选择的属性类型
        }
    },
    actions:{
        // 获取一级分类数据
        async getC1(){
            reqHasCategory().then(res=>{
                if(res.data.code==200){
                    this.allCategory = res.data.data
                    this.c1Arr = this.allCategory
                }else{
                    ElMessage({
                        type:'error',
                        message:'获取category分类信息失败，'+res.data.msg
                    })
                }
            })
            
            
            return
            let result = await reqC1()
            if(result.data.code==200){
                this.c1Arr = result.data.data
            }else{
                ElMessage({
                    type:'error',
                    message:'获取数据失败，'+ result.data.msg
                })
            }
        },
        // 获取二级分类数据
        getC2(){

            for(let item of this.allCategory){
                if(item.id==this.c1Id){
                    this.c2Arr = item.children
                    break
                }
            }
            return



            reqC2(this.c1Id).then(res=>{
                if(res.data.code==200){
                    this.c2Arr = res.data.data
                }else{
                    ElMessage({
                        type:'error',
                        message:'获取数据失败，'+ result.data.msg
                    })
                }
            })
        },
        // 获取三级分类数据
        getC3(){
            for(let item of this.c2Arr){
                if(item.id==this.c2Id){
                    this.c3Arr = item.children
                    break
                }
            }


            return



            let result = reqC3(this.c2Id)
            if(result.data.code==200){
                this.c3Arr = result.data.data
            }else{
                ElMessage({
                    type:'error',
                    message:'获取数据失败，'+ result.data.msg
                })
            }
        }

    },
    getters:{

    }
})

export default useCategoryStore